<?php
/**
 * Model de relacionamento entre campanha e campo.
 *
 * @author    Chavão <freela@chavao.net>
 * @copyright Copyright (c) 2011, Chavão
 * @version   0.1
 */

class CampanhaCampo extends AppModel
{
    /**
     * @access public
     * @var string
     */
    public $table = 'ldct_campanha_campo';
    /**
     * @access public
     * @var string
     */
    public $primaryKey = 'camp_cmps_id';

    /**
     * Lista todos os campos selecionados
     * @access public
     * @return array Todos os campos selecionados
     */
    public function listarCampos($piCampId)
    {
        return $this->all(array(
				'conditions' => array('camp_id' => $piCampId)
        ));
    }

    /**
     * Limpa todos os campos preenchidos de uma campanha
     * @access public
     * @param integer $piCampId Número do ID da campanha para apagar os campos relacionados
     */
    public function limparCampos($piCampId)
    {
        $arrCampanhaCampo = $this->listarCampos($piCampId);

        foreach($arrCampanhaCampo as $objCampCmps)
        {
            $objCampCmps = (object) $objCampCmps;

            $this->delete($objCampCmps->camp_cmps_id);
        }
    }

    /**
     * Salva relacionamento de campos com uma campanha
     * @access public
     * @param integer $piCampId N�mero do ID da campanha para criar o relacionamento
     * @param array $parrCmpsId Array com os campos a serem relacionados
     */
    public function salvarCampos($piCampId, $parrCmpsId)
    {
        $arrRel['camp_id'] = $piCampId;

        foreach($parrCmpsId as $iCmpsId)
        {
            $arrRel['cmps_id'] = $iCmpsId;

            $this->save($arrRel);

            $this->id = null;
        }
    }
}

?>